package com.wing.product.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

@Schema(description="入库记录表")
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "warehouse_storage_order")
public class WarehouseStorageOrder extends BaseEntity<WarehouseStorageOrder> {

    @TableField(value = "storage_record_code")
    @Schema(description="入库作业编号")
    private String storageRecordCode;

    @TableField(value = "warehouse_factory_administration_id")
    @Schema(description="仓库ID")
    private Long warehouseFactoryAdministrationId;

    @TableField(value = "warehouse_product_id")
    @Schema(description="产品id 取 warehouse_product表")
    private Long warehouseProductId;

    @TableField(value = "warehouse_order_id")
    @Schema(description="托管订单ID")
    private Long warehouseOrderId;

    @TableField(value = "warehouse_factory_shelf_space_id")
    @Schema(description="库位ID")
    private Long warehouseFactoryShelfSpaceId;

    @TableField(value = "Sign_in_record_id")
    @Schema(description="签收记录ID")
    private Long signInRecordId;

    @TableField(value = "product_type")
    @Schema(description="产品类型")
    private String productType;

    @TableField(value = "unit")
    @Schema(description="单位")
    private String unit;

    @TableField(value = "Inventory_quantity")
    @Schema(description="入库数量")
    private Integer inventoryQuantity;

    @TableField(value = "net_weight")
    @Schema(description="净重")
    private Double netWeight;

    @TableField(value = "gross_weight")
    @Schema(description="毛重")
    private Double grossWeight;

    @TableField(value = "customer_id")
    @Schema(description="客户id")
    private Long customerId;

    @TableField(value = "total_price")
    @Schema(description="合计价格")
    private BigDecimal totalPrice;

    @TableField(value = "quality_testing_id")
    @Schema(description="质检记录id")
    private Long qualityTestingId;

    @TableField(value = "production_plan_code")
    @Schema(description="生产计划编号")
    private String productionPlanCode;

    @TableField(value = "production_plan_detail_code")
    @Schema(description="制造令编号")
    private String productionPlanDetailCode;

    @TableField(value = "inventory_type_id")
    @Schema(description="出入库类型id")
    private String inventoryTypeId;
}
